package com.example.takeaway.mapper;

import com.example.takeaway.model.bo.CartItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 购物车项表 Mapper 接口
 * </p>
 *
 * @author 邢晨旭
 * @since 2023-10-12
 */
public interface CartItemMapper extends BaseMapper<CartItem> {

    /**
     * 根据店铺id、菜品id、用户id查询购物车项
     * @param shopId 店铺id
     * @param dishId 菜品id
     * @param userId 用户id
     * @return 购物车项
     */
    List<CartItem> queryCartItem(@Param("shopId") Long shopId, @Param("dishId")Long dishId, @Param("userId")Long userId);

    /**
     * 根据id查询购物车项
     * @param id
     * @return
     */
    CartItem queryCartItemById(Long id);

    /**
     * 根据id删除购物车项
     * @param id 购物车项id
     */
    void delById(Long id);

    /**
     * 根据店铺id和用户id清空购物车项
     * @param shopId 店铺id
     * @param userId 用户id
     */
    void deleteByShopId(@Param("shopId") Long shopId, @Param("userId") Long userId);
}
